package org.meetunexpectedly.constant;


/**
 * @Description: redis 常量
 * @Author: pupil
 * @Date: 2024/08/05 下午 8:14
 */
public interface RedisConstant {
    // 注册逻辑-邮箱验证码
    String EMAIL_CODE = "meetUnexpectedly:email:code:";

    // 注册逻辑-图形验证码
    String CAPTCHA_CODE = "meetUnexpectedly:captcha:code:";

    // 历史时间
    Long HISTORY_TIME = 432000L;

    // 波动时间(50分钟)
    Integer EXPIRE_VARIANCE = 3000;

    // 邮箱验证码有效时间，秒为单位
    Long EMAIL_CODE_TIME = 300L;

    // 图形验证码有效时间，秒为单位
    Long CAPTCHA_CODE_TIME = 300L;

    // 用户在线有效时间
    Long USER_ONLINE_TIME = 300L;

    // 用户粉丝
    String USER_FANS = "meetUnexpectedly:user:fans:";

    // 用户关注
    String USER_FOLLOWS = "meetUnexpectedly:user:follows:";

    // 用户搜索历史
    String USER_SEARCH_HISTORY = "meetUnexpectedly:user:search:history:";

    // 用户兴趣推送模型
    String USER_MODEL = "meetUnexpectedly:user:model:";

    // 用户点赞
    String USER_THUMB = "meetUnexpectedly:user:thumb:";

    // 用户收藏
    String USER_FAVORITES = "meetUnexpectedly:user:favorites:";

    // 收件箱
    String USER_OUT_FOLLOW = "meetUnexpectedly:user:out:follow:feed:";

    // 收件箱
    String USER_IN_FOLLOW = "meetUnexpectedly:user:in:follow:feed:";

    // 用户上线
    String USER_ONLINE = "meetUnexpectedly:user:online:";

    // 发布限制流
    String VIDEO_LIMIT = "meetUnexpectedly:video:limit";

    // 系统分类库，用于查询分类下的视频随机获取
    String SYSTEM_TYPE_STOCK = "meetUnexpectedly:video:type:stock:";

    // 系统视频库,每个公开的都会存在这
    String SYSTEM_STOCK = "meetUnexpectedly:video:stock:";

    // 用于兴趣推送时去重   和下面的浏览记录存储数据结构不同  这里只需要存id
    String HISTORY_VIDEO = "meetUnexpectedly:history:video:";

    // 用于用户浏览记录  这里需要存video
    String USER_HISTORY_VIDEO = "meetUnexpectedly:user:history:video:";

    // 热度排行榜
    String HOT_RANK = "meetUnexpectedly:video:hot:rank";

    // 热门视频
    String HOT_VIDEO = "meetUnexpectedly:video:hot:";

    // 请求ip
    String REQUEST_IP = "meetUnexpectedly:ip:";

    // 请求封禁ip
    String REQUEST_BLOCK_IP = "meetUnexpectedly:block:ip:";

    // 分类分片自增id
    String SHARD_TYPE_ID = "meetUnexpectedly:shard:type:";

    // 标签分片自增id
    String SHARD_LABEL_ID = "meetUnexpectedly:shard:label:";

    // 分片最大数据量
    Long MAX_DATA_COUNT = 10000L;
}
